package cc.comac.mom.entity;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import cc.comac.mom.bean.QualityAttachmentGroup;
import cc.comac.mom.entity.base.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

@Data
@EqualsAndHashCode(callSuper=true)
@TableName("equip_maintain_work_order_execution")
public class EquipMaintainWorkOrderExecutionEntity extends BaseEntity{

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	@TableId(value = "order_execution_id",type = IdType.INPUT)
	@TableField("order_execution_id")
	private long id;
	private long maintainWorkOrderId;
	private String maintainWorkOrderNumber;
	private String benchmarkNumber;
	private long benchmarkId;
	private long benchmarkItemId;
	private int executionDuration;
	private String executionDurationType;
	private String executionActualDuration;
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	private Date planFirstActualStartTime;
	private String orderBenchmarkItemActualValue;
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	private Date orderBenchmarkItemStartTime;
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	private Date orderBenchmarkItemEndTime;
	private String executionStatus;
	private String executionResult;
	private String abnormalDescription;
	private long pictureAttachmentGroupId;
	
	// 基准项目（保养/定检）
	@TableField(exist = false)
	private String benchmarkItemName;
	// 判定标准（保养/定检）
	@TableField(exist = false)
	private String benchmarkItemStandard;
	// 操作要领（保养/定检）
	@TableField(exist = false)
	private String benchmarkItemMethod;
	// 结果类型(0:定性，1：定量)
	@TableField(exist = false)
	private int benchmarkResultType;
	// 标准值
	@TableField(exist = false)
	private BigDecimal benchmarkStandardValue;
	// 保养类别
	@TableField(exist = false)
	private String benchmarkType;
	// 是否停机（保养）(0:不停机，1：停机)
	@TableField(exist = false)
	private int benchmarkDeviceShutdown;
	// 标准工时
	@TableField(exist = false)
	private BigDecimal benchmarkTime;

	// 部位
	@TableField(exist = false)
	private String benchmarkDevPart;
	// 附件
	@TableField(exist = false)
	private List<QualityAttachmentGroup> listAttachmentGroup;
	@TableField(exist = false)
	private List<Long> attachmentIds;
	@TableField(exist = false)
	private long nextId;
	@TableField(exist = false)
	private Integer record;

}
